public class Aresta {

	private int id;
	private String label;

	private Vertice v1;
	private Vertice v2;
	private double peso;
	private boolean ehDirecionada;
	int posv1;
	int posv2;


	public Aresta(int id) {
		super();
		this.id = id;
	}

	public Aresta(int id, String label, Vertice v1, Vertice v2, double peso,
			boolean ehDirecionada) {
		super();
		this.id = id;
		this.v1 = v1;
		this.v2 = v2;
		this.peso = peso;
		this.ehDirecionada = ehDirecionada;
		this.label = label;
	}

	public Vertice getOposto(Vertice v) {
		if (v1.equals(v)) {
			return v2;
		} else {
			return v1;
		}
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getLabel() {
		return label;
	}

	public Vertice getV1() {
		return v1;
	}

	public void setV1(Vertice v1) {
		this.v1 = v1;
	}

	public Vertice getV2() {
		return v2;
	}

	public void setV2(Vertice v2) {
		this.v2 = v2;
	}

	public double getPeso() {
		return peso;
	}

	public void setPeso(double peso) {
		this.peso = peso;
	}

	public boolean isEhDirecionada() {
		return ehDirecionada;
	}

	public void setEhDirecionada(boolean ehDirecionada) {
		this.ehDirecionada = ehDirecionada;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getId() {
		return id;
	}

	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}

	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Aresta other = (Aresta) obj;
		if (id != other.id)
			return false;
		return true;
	}
	
	public String toString(){
		return "Aresta ("+v1.getId()+","+v2.getId()+")";
	}

}
